package com.example.adapter.liveadapter;

import android.content.Context;
import android.support.v7.widget.CardView;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

import com.example.constant.live.LivesBean;
import com.example.interfaces.OnItemClickListener;
import com.example.ui.R;
import com.squareup.picasso.MemoryPolicy;
import com.squareup.picasso.Picasso;

import java.util.List;

import butterknife.BindView;
import butterknife.ButterKnife;

/**
 * 创建时间 2017/9/28
 * 作者 fengxn
 * ----------Dragon be here!----------/
 * 　　　┏┓　　　┏┓
 * 　　┏┛┻━━━┛┻┓
 * 　　┃　　　　　　　┃
 * 　　┃　　　━　　　┃
 * 　　┃　┳┛　┗┳　┃
 * 　　┃　　　　　　　┃
 * 　　┃　　　┻　　　┃
 * 　　┃　　　　　　　┃
 * 　　┗━┓　　　┏━┛
 * 　　　　┃　　　┃神兽保佑
 * 　　　　┃　　　┃代码无BUG！
 * 　　　　┃　　　┗━━━┓
 * 　　　　┃　　　　　　　┣┓
 * 　　　　┃　　　　　　　┏┛
 * 　　　　┗┓┓┏━┳┓┏┛
 * 　　　　　┃┫┫　┃┫┫
 * 　　　　　┗┻┛　┗┻┛
 * ━━━━━━神兽出没━━━━━━
 */

public class LiveAdapter extends RecyclerView.Adapter<LiveAdapter.LiveViewHolder>
{

    private List<LivesBean> datas;
    private Context context;
    private String errorpng = "http://pic2.16pic.com/00/20/02/16pic_2002642_b.jpg";
    private OnItemClickListener mItemClickListener;
    private String truepng;
    private LivesBean data;

    public LiveAdapter(Context context, List<LivesBean> datas)
    {
        this.context = context;
        this.datas = datas;
    }

    @Override
    public LiveViewHolder onCreateViewHolder(ViewGroup parent, int viewType)
    {
        View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_live, parent, false);
        return new LiveViewHolder(itemView);
    }

    @Override
    public void onBindViewHolder(final LiveViewHolder holder, int position)
    {
        data = datas.get(position);
        holder.tv1.setText(data.getOwner().getName());
        holder.tv2.setText(String.valueOf(data.getOnline()));
        holder.tv3.setText(data.getTitle());
        holder.tv4.setText(data.getPlayurl());
        truepng = data.getCover().getSrc();
        if (truepng.isEmpty())
        {
            truepng = errorpng;
        }
        Picasso.with(context)
                .load(truepng)
                .resize(400, 225)
                .memoryPolicy(MemoryPolicy.NO_CACHE, MemoryPolicy.NO_STORE)
                .placeholder(R.mipmap.bili_drawerbg_not_logined)
                .error(R.mipmap.bili_drawerbg_logined)
                .into(holder.iv);

        View itemView = ((CardView) holder.itemView).getChildAt(0);

        if (mItemClickListener != null)
        {
            itemView.setOnClickListener(new View.OnClickListener()
            {
                @Override
                public void onClick(View v)
                {
                    int position = holder.getLayoutPosition();
                    mItemClickListener.onItemClick(holder.itemView, position);
                }
            });
        }
    }

    @Override
    public int getItemCount()
    {
        return datas.size();
    }

    public void setOnItemClickListener(OnItemClickListener onItemClickListener)
    {
        mItemClickListener = onItemClickListener;
    }


    public class LiveViewHolder extends RecyclerView.ViewHolder
    {
        @BindView(R.id.item_live_src)
        ImageView iv;
        @BindView(R.id.item_live_name)
        TextView tv1;
        @BindView(R.id.item_live_online)
        TextView tv2;
        @BindView(R.id.item_live_title)
        TextView tv3;
        @BindView(R.id.item_live_playurl)
        TextView tv4;

        public LiveViewHolder(View itemView)
        {
            super(itemView);
            ButterKnife.bind(this, itemView);
        }
    }
}
